<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
		"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>

	<title>Test Dijit Internal Event: "ondijitclick"</title>

	<script type="text/javascript" src="../../dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script>
	<script type="text/javascript">
		dojo.require("doh.runner");
		dojo.require("dijit._Widget");
		dojo.require("dojo.parser");

		dojo.declare("dijit.WidgetWithOndijitclick",
			dijit._Widget,
			{
				clickCount: 0,
				_onClick: function() {
					this.clickCount++;
				},
				postCreate: function() {
					this.connect(this.domNode, "ondijitclick", "_onClick");
				}
			}
		);

		dojo.addOnLoad(function(){
			doh.register("ondijitclick",
				[
					{
						name: "ondijitclick fires once on a space-key-up",
						runTest: function(t){
							var w = dijit.byId("widget1");
							if (dojo.isSafari){ // safari has error
								this.name += " * SKIPPED *";
								return;
							}

							// simulate space up
							if (document.createEvent){
								var e = document.createEvent("KeyboardEvent");
								e.initKeyEvent("keyup",true,true,null,false,false,false,false,32,0);
								w.domNode.focus();
								w.clickCount = 0;
								w.domNode.dispatchEvent(e);
								t.is(1, w.clickCount);
							}	
						}
					},
					{
						name: "ondijitclick fires once on an enter-key-down except in FF",
						runTest: function(t){
							var w = dijit.byId("widget1");
							if (dojo.isSafari){ // safari has error
								this.name += " * SKIPPED *";
								return;
							}

							// simulate enter down
							if (document.createEvent && !dojo.isSafari){
								var e = document.createEvent("KeyboardEvent");
								e.initKeyEvent("keydown",true,true,null,false,false,false,false,13,0);
								w.domNode.focus();
								w.clickCount = 0;
								w.domNode.dispatchEvent(e);
								if (!dojo.isFF){
									t.is(1,w.clickCount);
								}else{
									t.is(0, w.clickCount);
								}
							}
						}
					},
					{
						name: "ondijitclick fires once on an enter-key-press in FF",
						runTest: function(t){
							var w = dijit.byId("widget1");
							if (dojo.isSafari){ // safari has error
								this.name += " * SKIPPED *";
								return;
							}

							// simulate enter down
							if (document.createEvent && !dojo.isSafari){
								var e = document.createEvent("KeyboardEvent");
								e.initKeyEvent("keypress",true,true,null,false,false,false,false,13,0);
								w.domNode.focus();
								w.clickCount = 0;
								w.domNode.dispatchEvent(e);
								if (dojo.isFF){
									t.is(1, w.clickCount);
								}else{
									t.is(0, w.clickCount);
								}
							}
						}
					},
					{
						name: "ondijitclick does not fire on a space-key-down",
						runTest: function(t){
							var w = dijit.byId("widget1");
							if (dojo.isSafari){ // safari has error
								this.name += " * SKIPPED *";
								return;
							}

							// simulate space up
							if (document.createEvent){
								var e = document.createEvent("KeyboardEvent");
								e.initKeyEvent("keydown",true,true,null,false,false,false,false,32,0);
								w.domNode.focus();
								w.clickCount = 0;
								w.domNode.dispatchEvent(e);
								t.is(0, w.clickCount);
							}
						}
					},
					{
						name: "ondijitclick fires once on a mouse click",
						runTest: function(t){
							var w = dijit.byId("widget1");

							// simulate enter up
							if (document.createEvent){
								var e = document.createEvent("MouseEvents");
								e.initMouseEvent('click', true, true, document.defaultView, 1, 0, 0, 3, 3, false, false, false, false, 0, w.domNode);
								w.clickCount = 0;
								w.domNode.dispatchEvent(e);
								t.is(1, w.clickCount);
							}
						}
					}
				]
			);
			doh.run();
		});

	</script>
</head>
<body class="tundra">
	<div id="widget1" dojoType="dijit.WidgetWithOndijitclick"></div>
</body>
</html>
